<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of produtos_categorias
 *
 * @author link2
 */
class Produtos_categorias extends ADM_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->config('ecommerce/parametros');
        $this->load->add_module('local');
        $this->load->config('local/parametros');
        $this->load->model('local/local_idiomas_model');

        $this->load->language('ecommerce/produtos_categorias');
        $this->load->helper('html');
        $this->load->model('ecommerce/produtos_categorias_model');
        $this->load->model('ecommerce/produtos_categorias_info_model');
        $this->checar_metodo(uri_string());
    }

    public function cadastrar() {
        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('title_acao_cadastrar');
        $v_dados['id'] = '';
        $v_dados['pai_cat'] = form_dropdown('pai_cat', $this->produtos_categorias_model->combo(), array());
        $v_dados['status'] = form_dropdown('status', $this->_status(), array(), 'required="required"');
        $v_dados['idiomas'] = array();
        $_b_consultar = $this->local_idiomas_model->consultar_total();
        foreach ($_b_consultar as $k => $v) {
            $v_dados['idiomas'][$k]['idioma'] = strtoupper($v->codigo);
            $v_dados['idiomas'][$k]['idiomas_id'] = $v->id;
            $v_dados['idiomas'][$k]['nome_cat'] = '';
            $v_dados['idiomas'][$k]['resumo'] = '';
            $v_dados['idiomas'][$k]['imagens_id'] = '';
        }
        $v_dados['link_listar_categoria'] = $this->permissions->get_url('ecommerce_produtos_categorias_consultar');
        $v_dados['action_produtos_categorias_gravar'] = $this->permissions->get_url('ecommerce_produtos_categorias_gravar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('ecommerce_produtos_categorias_view', $v_dados);
    }

    public function alterar($_id) {
        $_b_consultar = $this->produtos_categorias_model->consultar($_id);
        $_b_consultar = $_b_consultar[0];
        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('title_acao_alterar');
        $v_dados['id'] = $_b_consultar->id;
        $v_dados['pai_cat'] = form_dropdown('pai_cat', $this->produtos_categorias_model->combo(), array($_b_consultar->pai_cat));
        $v_dados['status'] = form_dropdown('status', $this->_status(), array($_b_consultar->status), 'required="required"');
        $v_dados['idiomas'] = array();
        $_b_consultar = $this->local_idiomas_model->consultar_total();
        foreach ($_b_consultar as $k => $v) {
            $_b_consultar_categoria_info = $this->produtos_categorias_info_model->consultar($_id, $v->id);
            if ($_b_consultar_categoria_info != null) {
                $v_dados['idiomas'][$k]['idioma'] = strtoupper($v->codigo);
                $v_dados['idiomas'][$k]['idiomas_id'] = $v->id;
                $v_dados['idiomas'][$k]['nome_cat'] = $_b_consultar_categoria_info[0]->nome_cat;
                $v_dados['idiomas'][$k]['resumo'] = $_b_consultar_categoria_info[0]->resumo;
                $v_dados['idiomas'][$k]['imagens_id'] = $_b_consultar_categoria_info[0]->imagens_id;
            } else {
                $v_dados['idiomas'][$k]['idioma'] = strtoupper($v->codigo);
                $v_dados['idiomas'][$k]['idiomas_id'] = $v->id;
                $v_dados['idiomas'][$k]['nome_cat'] = '';
                $v_dados['idiomas'][$k]['resumo'] = '';
                $v_dados['idiomas'][$k]['imagens_id'] = '';
            }
        }
        $v_dados['link_listar_categoria'] = $this->permissions->get_url('ecommerce_produtos_categorias_consultar');
        $v_dados['action_produtos_categorias_gravar'] = $this->permissions->get_url('ecommerce_produtos_categorias_gravar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('ecommerce_produtos_categorias_view', $v_dados);
    }

    public function gravar() {
        $v_dados = array();
        $this->load->library('form_validation');
        $this->form_validation->set_rules('status', 'lang:lang_title_status', 'trim|required');

        if ($this->form_validation->run($this) === FALSE) {
            $v_dados['cod'] = 111;
            $v_dados['msg'] = $this->lang->line('lang_msg_submit_warning');
            $v_dados['header'] = $this->lang->line('lang_header_submit_warning');
            $v_dados['campos'] = $this->form_validation->erros_campos_json();
        } else {
            $_dados = array();
            $_dados['status'] = $this->input->post('status');
            $_dados['pai_cat'] = $this->input->post('pai_cat');

            if ($this->input->post('id') == '') {
                $v_dados['id'] = $this->produtos_categorias_model->cadastrar($_dados);
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
            } else {
                $this->produtos_categorias_model->alterar($this->input->post('id'), $_dados);
                $v_dados['id'] = $this->input->post('id');
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
            }

            foreach ($this->input->post('idioma') as $k => $v) {
                $_dados = array();
                //categoria_id, imagens_id, idiomas_id, nome_cat, resumo
                $_dados['nome_cat'] = $v;

                $_b_consultar_info = $this->produtos_categorias_info_model->consultar($v_dados['id'], $k);

                if ($_b_consultar_info == null) {
                    $_dados['categoria_id'] = $v_dados['id'];
                    $_dados['idiomas_id'] = $k;
                    $this->produtos_categorias_info_model->cadastrar($_dados);
                } else {
                    $this->produtos_categorias_info_model->alterar($v_dados['id'], $k, $_dados);
                }
            }
        }
        echo json_encode($v_dados);
    }

    public function categoria_unica($nome, $id) {
        if ($this->input->post($id) == '') {
            $_b_consultar = $this->produtos_categorias_model->get_nome($nome);
            if ($_b_consultar == null) {
                return TRUE;
            } else {
                $this->form_validation->set_message('categoria_unica', $this->lang->line('lang_categoria_unica'));
                return FALSE;
            }
        } else {
            return TRUE;
        }
    }

    public function consultar() {
        //id, pai_cat, status, data_add -- categoria_id, imagens_id, idiomas_id, nome_cat, resumo
        $v_dados = array();
        $v_dados['categorias'] = array();
        $_b_consultar = $this->produtos_categorias_model->consultar_categoria_idiomas();
        /* ["id"]=>
          string(1) "2"
          [""]=>
          string(1) "0"
          [""]=>
          string(1) "7"
          [""]=>
          string(19) "2012-01-24 20:03:06"
          ["categoria_id"]=>
          string(1) "8"
          [""]=>
          NULL
          [""]=>
          string(1) "2"
          [""]=>
          string(13) "TESTE 4 PT-BR"
          [""]=>
          NULL
          [""]=>
          string(6) "Brasil"
          [""]=>
          string(5) "pt-br"
         */
        if ($_b_consultar != null) {
            foreach ($_b_consultar as $k => $v) {
                $v_dados['categorias'][$k]['id'] = $v->id;
                $v_dados['categorias'][$k]['pai_cat'] = $v->pai_cat;
                $v_dados['categorias'][$k]['status'] = $v->status;
                $v_dados['categorias'][$k]['data_add'] = $v->data_add;
                $v_dados['categorias'][$k]['imagens_id'] = $v->imagens_id;
                $v_dados['categorias'][$k]['idiomas_id'] = $v->idiomas_id;
                $v_dados['categorias'][$k]['nome_cat'] = $v->nome_cat;
                $v_dados['categorias'][$k]['resumo'] = $v->resumo;
                $v_dados['categorias'][$k]['nome'] = $v->nome;
                $v_dados['categorias'][$k]['codigo'] = $v->codigo;
                $v_dados['categorias'][$k]['acao'] = anchor(base_cms() . $this->permissions->get_url('ecommerce_produtos_categorias_alterar') . '/' . $v->categoria_id, $this->lang->line('title_acao_alterar'), 'class="btn small"');
            }
        }
        $v_dados['link_cadastrar_categoria'] = $this->permissions->get_url('ecommerce_produtos_categorias_cadastrar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('ecommerce_produtos_categorias_lista_view', $v_dados);
    }

    private function _status() {
        return array(
            0 => $this->lang->line('lang_title_status_0'),
            1 => $this->lang->line('lang_title_status_1')
        );
    }

}